package com.yuexunit.operationman.nbsy.Api;

import com.yuexunit.operationman.nbsy.base.SubmitBean;
import com.yuexunit.operationman.nbsy.module.AfterOperation.bean.AfterOperationBean;
import com.yuexunit.operationman.nbsy.module.BeforeAnesthesiaVisit.bean.BeforeAnesthesiaBean;
import com.yuexunit.operationman.nbsy.module.Catheter.bean.CatheterBean;
import com.yuexunit.operationman.nbsy.module.InterventionalOperation.Bean.DrugListBean;
import com.yuexunit.operationman.nbsy.module.InterventionalOperation.Bean.InterNursingBean;
import com.yuexunit.operationman.nbsy.module.Login.bean.PatientBean;
import com.yuexunit.operationman.nbsy.module.Login.bean.PatientListBean;
import com.yuexunit.operationman.nbsy.module.Login.bean.UpdateBean;
import com.yuexunit.operationman.nbsy.module.Login.bean.UserBean;
import com.yuexunit.operationman.nbsy.module.OperationBeforeAndAfter.bean.BeforeAndAfterBean;
import com.yuexunit.operationman.nbsy.module.OperationInventory.bean.GoodsBean;
import com.yuexunit.operationman.nbsy.module.OperationInventory.bean.InventoryBean;
import com.yuexunit.operationman.nbsy.module.OperationInventory.bean.NewGoodsBean;
import com.yuexunit.operationman.nbsy.module.OperationInventory.bean.TempletBean;
import com.yuexunit.operationman.nbsy.module.OperationRiskAssessment.bean.RiskAssessmentBean;
import com.yuexunit.operationman.nbsy.module.Placement.bean.PlacementBean;
import com.yuexunit.operationman.nbsy.module.SafeOperation.bean.SafeOperationBean;
import com.yuexunit.operationman.nbsy.module.SafeOperation.bean.SignBean;
import com.yuexunit.operationman.nbsy.module.SurgicalReceipt.Bean.SurgicalReceiptBean;
import com.yuexunit.operationman.nbsy.module.nurse.Bean.NurseBean;
import com.yuexunit.operationman.nbsy.module.plant.bean.ImplantMaterialItemListEntity;
import com.yuexunit.operationman.nbsy.module.plant.bean.MaterialBean;
import com.yuexunit.operationman.nbsy.module.plant.bean.MaterialDeviceBean;

import java.util.ArrayList;
import java.util.Map;

import retrofit.http.FieldMap;
import retrofit.http.FormUrlEncoded;
import retrofit.http.GET;
import retrofit.http.POST;
import retrofit.http.Query;
import rx.Observable;

/**
 * Created by work-jx on 2017/7/12.
 */
public interface Api {
    @POST("login/oaLoginIn.json")
    @FormUrlEncoded
    Observable<UserBean> getUserDate(@FieldMap Map<String, String> praise);

    @GET("inquire/updateOperationInfo")
    Observable<PatientBean> getPatientDate(@Query("inHospitalNo") String inHospitalNo);

    @POST("doctor/checkSignInfo")
    @FormUrlEncoded
    Observable<SignBean> getSignInfo(@FieldMap Map<String, String> praise);

    @POST("security/detail")
    @FormUrlEncoded
    Observable<SafeOperationBean> getSafeOperationDate(@FieldMap Map<String, String> praise);

    @POST("security/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertSafeOperation(@FieldMap Map<String, String> praise);

    @POST("security/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateSafeOperation(@FieldMap Map<String, String> praise);

    @POST("material/detail")
    @FormUrlEncoded
    Observable<MaterialBean> getMaterial(@FieldMap Map<String, String> praise);

    @POST("material/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertMaterialInfo(@FieldMap Map<String, String> praise);

    @POST("material/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateMaterialInfo(@FieldMap Map<String, String> praise);

    @POST("implantMaterialGoods/get")
    @FormUrlEncoded
    Observable<MaterialDeviceBean<ImplantMaterialItemListEntity>> getMaterialDevice(@FieldMap Map<String, String> praise);


    @POST("nursing/detail")
    @FormUrlEncoded
    Observable<NurseBean> getNursing(@FieldMap Map<String, String> praise);

    @POST("nursing/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertNurseInfo(@FieldMap Map<String, String> praise);

    @POST("nursing/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateNurseInfo(@FieldMap Map<String, String> praise);


    @POST("interNursing/detail")
    @FormUrlEncoded
    Observable<InterNursingBean> getInterNursing(@FieldMap Map<String, String> praise);

    @POST("interNursing/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertInterNurseInfo(@FieldMap Map<String, String> praise);

    @POST("interNursing/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateInterNurseInfo(@FieldMap Map<String, String> praise);

    @POST("interNursingMedicine/list")
    @FormUrlEncoded
    Observable<DrugListBean> getDrugInfo(@FieldMap Map<String, String> praise);

    @POST("handover/detail")
    @FormUrlEncoded
    Observable<SurgicalReceiptBean> getSurgicalReceipt(@FieldMap Map<String, String> praise);

    @POST("handover/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertSurgicalReceiptInfo(@FieldMap Map<String, String> praise);

    @POST("handover/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateSurgicalReceiptInfo(@FieldMap Map<String, String> praise);

    @POST("risk/detail")
    @FormUrlEncoded
    Observable<RiskAssessmentBean> getRiskAssessment(@FieldMap Map<String, String> praise);

    @POST("risk/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertRiskAssessmentInfo(@FieldMap Map<String, String> praise);

    @POST("risk/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateRiskAssessmentInfo(@FieldMap Map<String, String> praise);

    @POST("aoVisit/detail")
    @FormUrlEncoded
    Observable<AfterOperationBean> getAfterOperation(@FieldMap Map<String, String> praise);

    @POST("aoVisit/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertAfterOperationInfo(@FieldMap Map<String, String> praise);

    @POST("aoVisit/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateAfterOperationInfo(@FieldMap Map<String, String> praise);

    @POST("visit/detail")
    @FormUrlEncoded
    Observable<BeforeAnesthesiaBean> getBeforeAnesthesia(@FieldMap Map<String, String> praise);

    @POST("visit/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertBeforeAnesthesiaInfo(@FieldMap Map<String, String> praise);

    @POST("visit/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateBeforeAnesthesiaInfo(@FieldMap Map<String, String> praise);

    @POST("check/detail")
    @FormUrlEncoded
    Observable<InventoryBean> getInventory(@FieldMap Map<String, String> praise);

    @POST("check/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertInventoryInfo(@FieldMap Map<String, String> praise);

    @POST("check/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateInventoryInfo(@FieldMap Map<String, String> praise);

    @POST("goodsTemple/list")
    @FormUrlEncoded
    Observable<TempletBean> getTempletInfo(@FieldMap Map<String, String> praise);

    @POST("goodsTemple/detail")
    @FormUrlEncoded
    Observable<GoodsBean> getGoodsInfo(@FieldMap Map<String, String> praise);

    @POST("goods/goodsList")
    @FormUrlEncoded
    Observable<NewGoodsBean> getNewGoodsInfo(@FieldMap Map<String, String> praise);

    @POST("nursingSupervision/detail")
    @FormUrlEncoded
    Observable<BeforeAndAfterBean> getBeforeAndAfter(@FieldMap Map<String, String> praise);

    @POST("nursingSupervision/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertBeforeAndAfterInfo(@FieldMap Map<String, String> praise);

    @POST("nursingSupervision/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateBeforeAndAfterInfo(@FieldMap Map<String, String> praise);

    @POST("catheter/detail")
    @FormUrlEncoded
    Observable<CatheterBean> getCatheter(@FieldMap Map<String, String> praise);

    @POST("catheter/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertCatheterInfo(@FieldMap Map<String, String> praise);

    @POST("catheter/update")
    @FormUrlEncoded
    Observable<SubmitBean> updateCatheterInfo(@FieldMap Map<String, String> praise);

    //更新
    @GET("androidUpdate.json")
    Observable<UpdateBean> update();

    @POST("nursingSupervision/list")
    Observable<ArrayList<BeforeAndAfterBean.ObjectEntity>> getPatientList();

    @POST("fixingDevice/detail")
    @FormUrlEncoded
    Observable<PlacementBean> getPlacement(@FieldMap Map<String, String> praise);

    @POST("fixingDevice/insert")
    @FormUrlEncoded
    Observable<SubmitBean> insertPlacementInfo(@FieldMap Map<String, String> praise);

    @POST("fixingDevice/update")
    @FormUrlEncoded
    Observable<SubmitBean> updatePlacementInfo(@FieldMap Map<String, String> praise);

    @POST("inquire/inquireList")
    @FormUrlEncoded
    Observable<PatientListBean> getPatientListData(@FieldMap Map<String, String> praise);
}
